﻿#region

using System;
using System.Collections.Generic;
using DotNetMax.CodeGen.Model.Entity;

#endregion

namespace DotNetMax.CodeGen.Model.Collection
{
    /// <summary>
    /// Coleção Base para Entidades
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public class BaseCollection<T> : List<T>
        where T : BaseEntity
    {
        public BaseCollection()
        {
        }

        /// <summary>
        /// Procura uma Entidade que Contenha o Mesmo GUID do Parâmetro
        /// </summary>
        /// <param name="guid"></param>
        /// <returns></returns>
        public T FindByGUID(string guid)
        {
            foreach (T entity in this)
            {
                if (entity.GUID.Equals(guid, StringComparison.InvariantCultureIgnoreCase))
                {
                    return entity;
                }
            }

            // Se não Encontrar
            return null;
        }
    }
}